pgmres_solver Interface

public interface pgmres_solver

Module Procedures

private subroutine csr_pgmres_solver(a, lu, ju, b, x, im, tol, maxits, iout, err)

Solves a linear system using the PGMRES method.

Arguments

Type IntentOptional Attributes Name
class(csr_matrix), intent(in) :: a

The matrix.

class(msr_matrix), intent(in) :: lu

The LU factored matrix.

integer(kind=int32), intent(in), dimension(:) :: ju

The row tracking array.

real(kind=real64), intent(inout), dimension(:) :: b

The right-hand side.

real(kind=real64), intent(out), dimension(:) :: x

The solution.

integer(kind=int32), intent(in), optional :: im

The Krylov subspace size.

real(kind=real64), intent(in), optional :: tol

The convergence tolerance.

integer(kind=int32), intent(in), optional :: maxits

The maximum number of iterations.

integer(kind=int32), intent(in), optional :: iout

The output level.

class(errors), intent(inout), optional, target :: err

The error object to be updated.